cmake_minimum_required(VERSION 3.15.1)

project(spark-build-skeleton LANGUAGES CXX VERSION 0.0.1)

include(cmake/wxWidgets.cmake)

# 使用 cmake 传统模式进行构建
# add_executable(helloworld 
#     src/main.cpp src/notebook.cpp src/notebook.h
# )

# 使用 spark 模式进行构建 Appimage
include(cmake/SparkEnvConfig.cmake)
include(cmake/SparkMacrosConfig.cmake)
include(cmake/SparkMacrosExtendConfig.cmake)
spark_add_executable_path(helloworld src)

install(TARGETS helloworld DESTINATION bin)

# 使用 spark 模式进行构建 Deb
# 注释行(使用方式)
find_package(SparkDebPackage PATHS ${CMAKE_SOURCE_DIR})
add_package_descript(cmake/spark-deb-package.descript)


# 使用 spark 模式进行构建 Appimage
include(cmake/SparkDesktopMacros.cmake)
# 内容默认应用名称: Name= 应与项目名称相同
spark_desktop_macros(
    # 应用名称: Name=
    "helloworld"
    # 应用名称: Name[zh_CN]=
    "demo"
    # 应用说明: Comment=
    "demo"
    # 应用类型: Type=
    "Application"
    # 执行程序: Exec=
    "helloworld"
    # 图标路径: Icon=
    "helloworld"
    # 应用分类: Categories=
    "Utility;"
    # MIME类型: MimeType=
)

# wxWidgets 需要你提供 export LD_LIBRARY_PATH 指向 lib 的绝对路径
include(cmake/SparkAppimageConfig.cmake)  # 导入来自 Spark 构建的 Appimage 构建
add_appimage_icon(assets/spark.png)       # 添加到 Appimage 中的默认的图标
add_appimage_desktop()                    # 添加到 Appimage 中的默认desktop(使用来自 Spark 构建的 Desktop 构建中配置的信息(必须要求 spark-desktop))
add_appimage_target(helloworld)           # 添加到 Appimage 中的默认目标，应用对 Appimage 的构建
